package com.baofu.paycore.service.facade.model.recharge;

import com.baofu.paycore.service.facade.model.FundBaseDTO;
import com.baofu.paycore.service.facade.model.PayBaseDTO;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;

/**
 * 充值请求model
 *
 * User: LZQ  Date: 2014/12/04 ProjectName: paycore Version: 5.0.0
 * User: kwl  Date: 2016/05/16 ProjectName: paycore Version: 5.0.0
 */
@ToString(callSuper = true)
@Getter
@Setter
public class RechargeDTO extends PayBaseDTO {

    /**
     * 序列化ID
     */
    private static final long serialVersionUID = -1419213621174866204L;

    /** 客户号 */
    @NotBlank(message = "客户号不能为空")
    @Length(max = 16, message = "客户号最大长度不能超过16")
    private String contractNo;

    /**
     * 账户号
     */
    @NotBlank(message = "资金账户号不能为空")
    @Length(max = 32, message = "资金账户号最大长度不能超过16")
    private String accountNo;

    /**
     * 事件号
     */
    private String eventNo;

    /**
     * 充值回调通知地址
     */
    private String returnUrl;

    /**
     * 资金渠道信息
     */
    @NotNull(message = "资金处理单不能空")
    @Valid
    private FundBaseDTO fundBaseDTO;

}

